//导入文件模块
const fs = require("fs")
// 导入路径模块
const path = require("path")
//匹配style部分的正则表达式
const regStyle = /<style>[\s\S]*<\/style>/
const regScript = /<script>[\s\S]*<\/script>/

// 读取时钟html,css,js 
fs.readFile(path.join(__dirname, '../素材/index.html'), 'utf8', (err, data) => {
  if (err) console.log(err)
  else {
    //获取网页数据字符串
    const htmlStr = data.toString()
    resolveCss(htmlStr)
    resolveJs(htmlStr)
    resolveHtml(htmlStr)
  }
})
// 抽离css样式
function resolveCss(htmlStr) {
  // 获取style部分的数据
  const newCss = regStyle.exec(htmlStr)[0].replace('<style>', "").replace('</style>', "")
  //将style部分单独写入css文件
  fs.writeFile(path.join(__dirname, './clock/index.css'), newCss, err => {
    if (err) console.log(err)
    else {
      console.log('css样式抽取成功')
    }
  })
}
// 抽离js
function resolveJs(htmlStr) {
  // 获取style部分的数据
  const newJs = regScript.exec(htmlStr)[0].replace('<script>', "").replace('</script>', "")
  //将script部分单独写入js文件
  fs.writeFile(path.join(__dirname, './clock/index.js'), newJs, err => {
    if (err) console.log(err)
    else {
      console.log('js抽取成功')
    }
  })
}
// 抽离html
function resolveHtml(htmlStr) {
  const newHtml = htmlStr.replace(regStyle, '<link rel="stylesheet" href="./index.css">').replace(regScript, '<script src="./index.js"></script>')

  // 将结构单独抽离
  fs.writeFile(path.join(__dirname, './clock/index.html'), newHtml, err => {
    if (err) console.log(err)
    else {
      console.log('html结构抽取成功')
    }
  })
}